Ribbon Proofs for Separation Logic A verification pearl

نویسندگان

  • John Wickerson
  • Mike Dodds
  • Matthew Parkinson
چکیده

We present ribbon proofs, a diagrammatic proof system for separation logic. Inspired by an eponymous system due to Bean, ribbon proofs emphasise the structure of a proof, so are intelligible and hence useful pedagogically. Because they contain less redundancy than proof outlines, and allow each proof step to be checked locally, they are highly scalable (and we illustrate this with a ribbon proof of the Version 7 Unix memory manager). Where proof outlines are cumbersome to modify, ribbon proofs can be visually manoeuvred to yield proofs of variant programs. This paper introduces the ribbon proof system, proves its soundness and completeness, and outlines a prototype tool for validating the diagrams in Isabelle.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proof Pearl: Magic Wand as Frame

Separation logic is widely used to verify programs that manipulate pointers. It adds two connectives: separating conjunction ∗ (“star”) and its adjoint, separating implication −∗ (“magic wand”). Comparatively, separating conjunction is much more widely used. Many separation logic tools do not even support separating implication. Especially in interactive program verification or pen-paper proofs...

متن کامل

Certificates and Separation Logic

Modular and local reasoning about object-oriented programs has been widely studied for programing languages such as C# and Java. Once source programs have been proven, the next verification challenge is to ensure that the code produced by the compiler is correct. Since verifying a compiler can be extremely complex, this paper uses proof-transforming compilation, an alternative approach which au...

متن کامل

Ribbon Proofs for Separation Logic

A program proof should not merely certify that a program is correct; it should explain why it is correct. A proof should be more than ‘true’: it should be informative, and it should be intelligible. Extending work by Bean [1], we introduce a system that produces readable program proofs that are highly scalable and easily modified. The de facto standard for presenting program proofs in Hoare log...

متن کامل

Ribbon tensorial logic A functorial bridge between proofs and knots

Tensorial logic is a primitive logic of tensor and negation which refines linear logic by relaxing the hypothesis that tensorial negation A 7→ ¬A is involutive. The resulting logic of linear continuations provides a proof-theoretic account of game semantics, where the formulas and proofs of the logic reflect univoquely dialogue games and innocent strategies. In the present paper, we introduce a...

متن کامل

Semi-automatic Proofs about Object Graphs in Separation Logic

Published correctness proofs of garbage collectors in separation logic to date depend on extensive manual, interactive formula manipulations. This paper shows that the approach of symbolic execution in separation logic, as first developed by Smallfoot, also encompasses reasoning about object graphs given by the reachability of objects. This approach yields semi-automatic proofs of two central g...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012